export interface ConversationProps {
  id: number
  title: string
  selectModel: string
  createAt: string
  updateAt: string
  providerid: number
}

export interface ProviderSelectProps {
  id: number
  name: string
  title?: string
  description?: string
  avatar?: string
  models: string[]
  createAt: string
  updateAt: string
}

export type MessageState = 'loading' | 'stream' | 'finish'
export interface MessageListProps {
  id: number
  message: MessageContent
  type: 'question' | 'answer'
  conversationid: number
  state?: MessageState
  createAt: string
  updateAt: string
  image?: string
}

export type MessageContent = {
  role: 'user' | 'assistant'
  content: string
  image?: string
}
export interface StartChatProps {
  messageId: number
  providerName: string
  selectModel: string
  message: MessageContent | MessageContent[]
}

export interface updateMessageProps {
  messageId: number
  result: string
  is_end: boolean
}

export interface ConverContentProps {
  role: 'user' | 'assistant'
  content: string | any[]
  image?: string
}

export interface UniversalProps {
  is_end: boolean
  result: string
}
